package com.cjm.one.goods.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cjm.one.common.result.Result;
import com.cjm.one.model.coupon.dto.CouponConfirmDto;
import com.cjm.one.model.coupon.dto.CouponReserveDto;
import com.cjm.one.model.coupon.entity.CustomerCoupon;
import com.cjm.one.model.coupon.vo.CouponInfoVo;
import com.cjm.one.model.coupon.vo.CouponReserveVo;

/**
* @author 29289
* @description 针对表【customer_coupon(乘客优惠券关联表)】的数据库操作Service
* @createDate 2024-09-05 15:59:26
*/
public interface CustomerCouponService extends IService<CustomerCoupon> {

    Page<CustomerCoupon> listPage(Integer current, Integer size, String keyword, Integer status,Long userId);

    Boolean receiveCoupon(CustomerCoupon couponInfo);

    Page<CouponInfoVo> getCouponInfoAppReceivedPage(Long current, Long size,String keyWord, Integer rangeType, Long customerId);

    CouponReserveVo processReserve(CouponReserveDto couponReserveDto);

    Result<Boolean> confirmUsage(CouponConfirmDto couponConfirmDto);

    Boolean autoReceiveCoupon(CouponReserveDto couponReserveDto);
}
